SpringDataJPA
SpringDataJPA
-
與JDBC template的不同
- 使用ORM的概念,透過操作JavaObject的方式操作資料庫
-
範例
-
Hibernate & JPA &SpringDataJPA
-
Hibernate與JPA是什麼關係
- JPA是一個規範,不是框架
- Hibernate是一個框架,是JPA的一種實現
-
SpringData又是什麼?
- Spring Data是Spring 社區的壹個子項目,主要用於簡化數據(關系型&非關系型)訪問,其主要目標是使得數據庫的訪問變得方便快捷。
- 它提供很多模板操作
- Spring Data Elasticsearch
- Spring Data MongoDB
- Spring Data Redis
- Spring Data Solr
• 強大的 Repository 和定制的數據儲存對象的抽象映射
• 對數據訪問對象的支持
-
那SpringData JPA又是什麼?
- Spring Data JPA是在實現了JPA規範的基礎上封裝的壹套 JPA 應用框架,雖然ORM框架都實現了JPA規範,但是在不同的ORM框架之間切換仍然需要編寫不同的代碼,而使用Spring Data JPA能夠方便大家在不同的ORM框架之間進行切換而不需要更改代碼。Spring Data JPA旨在通過將統壹ORM框架的訪問持久層的操作,來提高開發人的效率。
-
SpringData JPA 與 Hiberante是什麼關係
- Hibernate其實是JPA的壹種實現,而Spring Data JPA是壹個JPA數據訪問抽象。也就是說Spring Data JPA不是壹個實現或JPA提供的程序,它只是壹個抽象層,主要用於減少為各種持久層存儲實現數據訪問層所需的樣板代碼量。但是它還是需要JPA提供實現程序,其實Spring Data JPA底層就是使用的 Hibernate實現。
-
總結
- Hibernate是JPA的一種實現,是一種框架
- SpringDataJPA是 JPA的一種抽象層,底層依賴Hibernate
-
SpringDataJPA常用的類與接口
- Repository 接口:
- Repository
- CrudRepository
- JpaRepository
- Repository 實現類:
- SimpleJpaRepository
- QueryDslJpaRepository
- Repository 接口:
-
Query註解
用於在SpringdataJPA執行原生SQL語法